<?php

/**
 * UserIdentity representa el dato necesario para identificar al usuario.
 * Contiene el método de autenticación que comprueba los 
 * datos de identidad del usuario.
 */
class UserIdentity extends CUserIdentity
{
	/**
	 * Autenticacion de usuarios.
	 */
	public function authenticate()
	{
		if($this->validar($this->username,$this->password)==False){
			$this->errorCode=self::ERROR_PASSWORD_INVALID;
		}
		else{
			$this->errorCode=self::ERROR_NONE;
		}
		return !$this->errorCode;
	}
	/**
	 * Funcion que buscalos datos en la base para validar al usuario
	 */
	
	public function validar($userPc, $password){
	    try{
			$conexion=Yii::app()->db;
			$clave=Yii::app()->securityManager->getEncryptionKey();
			$consulta="SELECT (AES_DECRYPT(UNHEX(password),'$clave')) as password,rol,nro_userPc FROM user_pc WHERE mail='$userPc';";
			$resultado=$conexion->createCommand($consulta);
			$file=$resultado->query();
			foreach($file as $files){
			  if($files['password']==$password){
				 $this->setState('roles',$files['rol']);
				 $this->setState('id',$files['nro_userPc']);
				 return True;
			   }
			}
	     return False;
		}
		catch (Exception $e){
		    throw new CHttpException('','Servidor MySQL: error con la conexion');
        }
		
	}
		//conectar a la base de datos y verificar que exista el registro.

}
?>